Conventional methods and services show that there are two components of software requirements: human-readable and machine-usable. The machine-usable components can be thought of as the test procedures needed to ensure that the human-readable requirements have been met. Typically, the purpose of a set of software requirements is the construction of a software application, one that meets those requirements. Conventional requirements can be linked to design which, in turn, are linked to code.
Accordingly, there exists the opportunity to create new applications directly from requirements, removing the need for human intervention.